package siestageek;


public class J01_Fundamentals {
	
	// 유니코드 unicode
	// 전통적으로 영어권 나라들은 알파벳을 
	// 표기하기 위해 ASCII 문자집합을 사용
	// ASCII 문자집합에서 각 문자는 7비트를 사용하고
	// 총 128개의 문자를 나타낼 수 있음
	
	// 유럽권 문자 표기를 위해 
	// 확장 ASCII 문자집합 사용
	// 추가적으로 128개의 문자를 정의 (총 256문자)
	
	// 하지만, 모든 국가들이 라틴 문자를 
	// 사용하지 않음
	// 동양 문화권에 속한 나라들은 
	// 다른 문자집합을 사용함
	// 게다가 8 비트로 수 천 개의 문자를 
	// 나타내기에는 무리가 있음
	
	// 한편, 한국에서 사용하는 문자집합 중 
	// EUC-KR 은 8비트 한글 완성형 문자 인코딩
	// ISO-2022-KR 이라고도 불림
	// 사용 빈도가 높은 2350자만을 채택
	
	// 기존의 부족했던 완성형 한글을 보완하기 위해
	// 윈도 95부터 CP949 (=MS949) 라는 문자 인코딩을
	// 확장 완성형이라는 명칭으로 도입
	// KS C 5601-1987 라고 불리기도 함
	// 현대의 모든 한글을 수용하게 됨 (8822자 추가)
	
	//유니코드는 유니코드 컨소시움이라는
	// 비영리 단체에 의해 개발된 문자집합
	// 전 세계 언어의 문자를 하나의 문자 집합에 
	// 포함하려 함
	// 유니코드에 있는 고유 번호로
	// 정확히 한 문자를 표시
	
	// UTF-8
	// 바이트 가변길이 인코딩으로 
	// 유니코드 문자를 나타냄
	// 즉, 영어는 1바이트, 한글은 3바이트를 이용함
	// 대부분의 브라우저도 UTF-8 인코딩을 지원함
	
	public static void main(String[] args) {
		// 변수 선언 및 값 할당
		// [자료형] [변수명] = [리터럴];
		short birthyear = 1982;
		int birth_year = 1982;
		float pi = 3.14F;
			// 실수 리터럴(f)을 의미하는 접미사는
		    // 대문자로 표기하는 것이 가독성이 좋음
		long jumin = 198202152012826L;
			// 정수 리터럴(l)을 의미하는 접미사는
			// 대문자로 표기하는 것이 가독성이 좋음
		
		char _1st_name = '김', _2nd_name = '혜',
			  _3rd_name = '현', grade = '수';
					
		boolean isMale = true, isMarried = false;
		   // 동일한 자료형을 가지는 변수는
		   // , 를 이용해서 다중 변수 선언이 가능
		   // 하지만, 가독성이 떨어지기 때문에 비추!
		
		  char code1 = '\uC790';		// 유니코드 
		  char code2 = '\uBC14'; 
		  char symbol1 = '\u263A'; 	// 기호
		  char symbol2 = '\u2639';
		
		// 변수 값 출력
		// 자바 표준 출력문 System.out.println() 사용
		// System.out.println( 변수명 );
		System.out.println( birthyear );
		System.out.println( code1 );
		System.out.println( code2 );
		System.out.println( symbol1 );
		System.out.println( symbol2 );
		
	}

}





